<?php

class Responsable extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('responsable_model', '', true);
        $this->load->model('proveedor_model', '', true);
        $this->load->model('solusuario_model', '', true);
        $this->load->model('tipo_documento_model', '', true);
        $this->load->library('form_validation');
        $this->load->helper('form');
        $this->load->helper('util');
    }

    function index() {
        $data ['page_title'] = "Responsable";
        $responsable = $this->responsable_model->getResponsable();
        $data ['responsable'] = $responsable;
        $tipo_documento = $this->tipo_documento_model->getListTipoDocumento();
        $data['tipo_documento'] = $tipo_documento;
        $this->load->view('responsable_view/responsable_view', $data);
    }

    function index2($a) {
        $data ['page_title'] = "Responsable";
        // Cogiendo el id del proveedor recientemente registrado
        $idSolUsuario = $this->solusuario_model->getId();
        $data ['idSolUsuario'] = $idSolUsuario ['id_solicitud_usuario'];
        $tipo_documento = $this->tipo_documento_model->getListTipoDocumento();
        $data['tipo_documento'] = $tipo_documento;
        $responsable = $this->responsable_model->getPorProveedor($data);
        $data ['responsable'] = $responsable;

        switch ($a) {
            case 1 :
                $data ['mensaje'] = "La operación se realizó satisfactoriamente.";
                $data ['class'] = "alert_success";
                break;
            case 2 :
                $data ['mensaje'] = "La operación se realizó satisfactoriamente.";
                $data ['class'] = "alert_success";
                break;
            case 3 :
                $data ['mensaje'] = "La operación se realizó satisfactoriamente.";
                $data ['class'] = "alert_success";
                break;
        }

        $session_data = $this->session->userdata('logged_in');

        if ($session_data ['tipo_usuario'] == 1) {
            $this->load->view('responsable_view/responsable_view', $data);
        } else {
            $this->load->view('responsable_view/responsable_registro', $data);
        }
    }
    
    /**
     * Metodo que permite registrar un responsable en su tabla
     * @author Leidy Uribe Marcos
     */

    function insertar() {
        $this->form_validation->set_rules('txtNumdoc', 'Numero de Documento', 'trim|is_unique[solicitud_usuario.nro_documento]', 'trim|is_unique[solicitud_responsable.nro_documento]');
        $this->form_validation->set_message('is_unique', 'EL responsable ya se encuentra registrado');

        if ($this->form_validation->run() == FALSE) {
            // validacion incorrecta
            $data ['page_title'] = "Registrar Responsable";
            $data ['mensaje'] = "Ingresa un Responsable nuevo";
            $data ['mensaje'] = 'El responsable ya se encuentra registrado';
            $data ['class'] = "alert_error";
            $idSolUsuario = $this->solusuario_model->getId();
            $data['idSolUsuario'] = $idSolUsuario['id_solicitud_usuario'];
            $tipo_documento = $this->tipo_documento_model->getListTipoDocumento();
            $data['tipo_documento'] = $tipo_documento;
            $responsable = $this->responsable_model->getPorProveedor($data);
            $data['responsable'] = $responsable;

            $session_data = $this->session->userdata('logged_in');

            if ($session_data ['tipo_usuario'] == 1) {
                $this->load->view('responsable_view/responsable_view', $data);
            } else {
                $this->load->view('responsable_view/responsable_registro', $data);
            }
        } else {
            // Cogiendo el id del proveedor recientemente registrado
            $idSolUsuario = $this->solusuario_model->getId();
            $data ['idSolUsuario'] = $idSolUsuario ['id_solicitud_usuario'];

            $data ['nombres'] = $_POST ['txtNombres'];
            $data ['apellidos'] = $_POST ['txtApellidos'];
            $data ['correo'] = $_POST ['txtCorreo'];
            $data ['celular'] = $_POST ['txtCelular'];
            $data ['telefono'] = $_POST ['txtTelefono'];
            // Cogiendo id del usuario logeado
            $session_data = $this->session->userdata('logged_in');
            $id = $session_data ['id'];

            // Datos para el usuario y cliente
            if ($session_data ['tipo_usuario'] == 1) {
                $data ['usuario_registro'] = $id; // id del usuario logeado
            } else {
                $data ['usuario_registro'] = 0;
            }
            $data ['fecha_registro'] = date('Y-m-d H:i:s');
            $this->responsable_model->insert($data);
            $this->index2(1);
        }
    }

    /**
     * Metodo que permite mostrar el formulario para editar un responsable
     * @author Leidy Uribe Marcos
     */
    function accion() {
        $data ['page_title'] = "Responsable";
        $data ['mensaje'] = "Usted puede editar datos";
        $data ['responsable'] = $this->responsable_model->getPorid($_GET ['id']);
        $data['completo_resp'] = $this->responsable_model->getResponsable();

        $session_data = $this->session->userdata('logged_in');

        if ($session_data ['tipo_usuario'] == 1) {
            $this->load->view('responsable_view/responsable_edit_view', $data);
        } else {
            $this->load->view('responsable_view/responsable_edit_registro', $data);
        }
    }

    /**
     * Metodo que permite actualizar la tabla del responsable en caso haya cambios
     * @author Leidy Uribe Marcos
     */
    function editar() {
        $data ['id'] = $_POST ['txtId'];
        $data ['nombres'] = $_POST ['txtNombres'];
        $data ['apellidos'] = $_POST ['txtApellidos'];
        $data ['correo'] = $_POST ['txtCorreo'];
        $data ['celular'] = $_POST ['txtCelular'];
        $data ['telefono'] = $_POST ['txtTelefono'];
        // Cogiendo id del usuario logeado
        $session_data = $this->session->userdata('logged_in');
        $id = $session_data ['id'];
        if ($session_data ['tipo_usuario'] == 1) {
            $data ['usuario_modificacion'] = $id; // id del usuario logeado
        } else {
            $data ['usuario_modificacion'] = 0;
        }
        $data ['fecha_modificacion'] = date('Y-m-d H:i:s');
        $this->responsable_model->update($data);
        $this->index2(2);
    }

    function eliminar() {
        $id = $_GET ['id'];
        $this->responsable_model->delete($id);
        $this->index2(3);
    }

	function cargarDocumento() {
		//var_dump($_GET['cbxDocumento']);
		if ($_GET ['cbxDocumento'] == '') {
			$this->load->view('responsable_view/doc');
		} else if ($_GET ['cbxDocumento'] == INT_DNI) {
			$this->load->view('responsable_view/doc_dni');
		} else {
			$this->load->view('responsable_view/doc_ext');
		}
	}

}